package com.example.service;

import com.example.entity.Script;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.result.PageResult;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 陈昌吉
 * @since 2024-04-16
 */
public interface IScriptService extends IService<Script> {


    /**
     * Scrip上传文件到oss和插入到数据库中
     *
     * @param file
     * @param hid
     * @throws IOException
     */
    List<Script> insert(MultipartFile file, Integer hid);
    /**
     * 获取所有Script
     * @return
     */
    List<Script> getAll(Integer hid);

    /**
     * 删除script中的url
     * @param script
     * @return
     */
    String deleteFile(Script script);

    /**
     * 获取作业状态
     * @param hids
     * @return
     */
    LinkedHashSet<Script> getScriptState(ArrayList<Integer> hids);

    /**
     * 审核员处获取所有的作业
     * @param script
     * @return
     */
    PageResult getScrip(Script script);
    /**
     * 审核对提交的作业进行审核
     * @param script
     * @return
     */
    void updateState(Script script);
}
